package com.dingreading.cloud.soms.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


/**
 * 名师堂-会员订单
 */
@Data
@Table(value = "cmorder", dataSource = "ds3")
public class MstCmorder implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 创建时间
     */
    @Column(onInsertValue = "now()")
    private Date addTime;

    /**
     * 创建人uid
     */
    private String addStaffUid;

    /**
     * 创建人姓名
     */
    private String addStaffName;

    /**
     * 最后更新人uid
     */
    private String lastStaffUid;

    /**
     * 最后更新人姓名
     */
    private String lastStaffName;

    /**
     * 最后更新时间
     */
    @Column(onInsertValue = "now()", onUpdateValue = "now()")
    private Date editTime;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 伙伴uid
     */
    private String agencyUid;

    /**
     * 门店uid
     */
    private String storeUid;

    /**
     * 门店名称
     */
    private String storeName;

    /**
     * 学生uid
     */
    private String studentUid;

    /**
     * 学生名称
     */
    private String studentName;

    /**
     * 收入类型：体验学生(EXP),正式学生新签(NEW),续费/升级(RENEW),拓科(EXT)
     */
    private String orderType;

    /**
     * 收款金额
     */
    private Double orderAmount;

    /**
     * 收款日期
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date orderDate;

    /**
     * 支付渠道：收款码(CCB_QR),开单工具(SALE_TOOL),现金(CASH),银行转账(BANK),POS机(POS)
     */
    private String payChannelCode;

    /**
     * 礼品领取状态：已领取(1),未领取(0)
     */
    private String giftGotten;

    /**
     * 礼品备注
     */
    private String giftRemark;

    /**
     * 订单备注
     */
    private String orderRemark;

    /**
     * 签单人uid
     */
    private String saleStaffUid;


    /**
     * 签单人昵称
     */
    private String saleStaffNickName;

    /**
     * 服务项目数量
     */
    private Integer serviceNum;

    /**
     * 签单人电话
     */
    private String saleStaffPhone;

    /**
     * 收支类型：1(收入),2(支出)
     */
    private Integer inoutType;

    /**
     * 收支类型名称
     */
    private String inoutTypeName;

    /**
     * 订单状态：1(正常)，0(未支付)
     */
    private Integer orderState;

    /**
     * 订单状态名称
     */
    private String orderStateName;

    /**
     * 关联订单号
     */
    private String relationCode;

    /**
     * 结转金额
     */
    private Double carriedForwardAmount;

    /**
     * 变更日期
     */
    private Date changeDate;


    /**
     * 订单来源
     */
    private String source;

    /**
     * 订单总支付号
     */
    private String orderPandectNo;

    /**
     * 订单添加类型 1.正常订单 2.批量订单
     */
    private Integer orderAddType;

    /**
     * 激活总金额
     */
    private Double totalActivateAmount;

}
